Previous attempts have been made to program computers to play Go. However, performance has not matched the level of chess programs with even the strongest programs having the ability of an average club player. The best Go programs play only at the level of weak amateur Go players and Go is therefore considered to be a serious Al (artificial intelligence) challenge not unlike Chess in the 1960s. There are two main reasons for this state of affairs: firstly, the high branching factor of Go (typically 200 to 300 potential moves per position) prevents the expansion of a game tree to any useful depth. Secondly, it is difficult to produce an evaluation function for Go positions. A Go stone has no intrinsic value; its value is determined by its relationships with other stones. Go players evaluate positions using visual pattern recognition and qualitative intuitions which are difficult to formalize.